The advantages of e-commerce (e.g. the buying and selling of products or services over electronic systems such as the Internet) have led to exponential increases in the number, and scope, of different sites used to link customers and sellers. Facilitating this expansion, have been various web service providers that design and/or manage companies' websites. In this regard, a service provider may offer to set up and manage different companies' websites, e.g. “virtual storefronts,” that allow customers to browse and purchase items. However, when a service provider offers to manage the websites for different companies/entities in a given hosting environment, the provider is typically faced with a decision to isolate the resources for each of the different websites (to maintain security between the websites), or maintain control of all of the code used in the different websites (to inhibit the possibility of malicious code being introduced via one of the entities).
Unfortunately, each of these options have downsides. For example, isolating the resources of all the different websites supported by a service provider is usually inefficient and leads to significantly higher baseline costs for many entities that would benefit from shared resources. On the other hand, maintaining control of all of the code used in the different websites can unduly limit a customer's options in managing their storefront, and may preclude the otherwise desirable option of the customer shopping for different individualized support services, while still using the primary service provider to manage the overall operation and maintenance of the website.
More specifically, in a shared, multi-tenant hosting environment that runs untrusted seller-supplied code, it may be difficult to isolate the impact of a malicious “seller” attacking another seller. At the same time, an overprotective system with inter-seller isolation is often expensive to run, and may be prohibitively expensive for many small business merchants.